调试任务
指的是启动时选择节点类型为debug
的任务,与之对应的是执行任务
,其他类型卡的任务都是执行任务
。
两者之间的区别在于,调试任务
有Jupyter或ssh可以连接到任务中,其对/code目录进行的修改会被保存;调试任务
最多只能运行3小时,超时会被kill(debug资源有限),而执行任务
则会完整地执行用户设定的启动命令。
BitaHub提供在线的交互式开发调试服务,根据使用习惯,您可以从两种不同的调试方式中选一个。
一、使用Jupyter调试模式
调试模式基于Jupyter集成环境,在WEB界面直接使用。
调试任务步骤如下:
1. 启动任务
如下图所示,在项目详情页
点击 调试 按钮,在弹出的窗口中,根据需要GPU卡的个数。
确认完成资源配置后进入等待资源分配状态,此时按钮变为 等待中。
2. 打开Jupyter调试工具
如果成功分配到调试任务资源,则任务列表会生成相应的调试任务。等待中 按钮会变为 启动Jupyter,点击即可打开Jupyter调试工具。
3. 在线调试
下图为调试界面,您可以在网页中直接编写代码和运行代码,代码的运行结果也会直接在代码块下显示。您还可以使用集成的Terminal工具进行交互操作。
终端默认启动是的
sh
,如需使用复制粘贴和自动补全功能,需在命令行中输入bash
。关于Jupyter的详细操作指导,请参见Jupyter使用文档。
二、使用SSH连接调试
除了使用集成的Jupyter调试环境,您还可以使用SSH连接方式。但要注意,SSH和Jupyter只能选择一种。
SSH方式的调试步骤如下:
1. 选择新建任务
如下图,在项目详情页
选择新建任务:
2. 选择debug类型卡
在运行任务界面,选择GPU类型为debug
,然后提交任务:
为什么启动命令是sleep 3h
?这里只是为了让这个任务可以停留3个小时,注意命令执行完成时任务即终止。如果你预计仅需要调试1小时,那么写成sleep 1h
也可以。
3. 利用SSH进行调试
等待任务分配到资源后,点击该任务行的查看
按钮,进入任务详情页
:
滚动到页面最下端,在SSH信息
版块,可以看到该任务的SSH信息,利用该信息即可进行SSH方式调试。
SSH方式的调试,需要确保您的image镜像中安装了openssh-server。
4.配置个人SSH key
平台会为每次启动的任务新初始化一个ssh key,有些使用者会觉得不方便,想每次都使用自己固定的私钥进行登录。那么可以在启动命令中进行配置,如使用类似的启动命令(请替换为个人的公钥):
echo "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDfA6q+2qeTYzabyO+KnMruIuUsYKNfM9kz6w+QVR3Qm6llKgwwtO9c0STXSQqFyyTH28UU/eoLSKyywVN4S4EZ4Pm1uBkf3H3CPLNSt8JT7nCBAEpxW6/lVHmexTfl6iheG+CD1jercMWENSyJLRPeZff+P/2caigHhOEte7+uOWD0uhD/3CXEaKaPAE6NVWP/9KsW7Se64wMAlljwnCwYNbugfrn3AB2JQOPYvHjmmvNh7BdcTgiu5U1R9hu9HRmC4mSEj87BL4vAHGAMd1efRiJ7UyC8rnXQbGrYOLQKE5xM1klifvQ7ifffpW2UjaNwSRd8ZS4HVmST2hjLGRAf xx@ustc" >> ~/.ssh/authorized_keys ; sleep 3h
这样就可以使用个人的私钥登录了(平台提供的私钥也依然可用)。
这步不是必须的。